// 定义用户相关信息的接口
import request from '@/utils/request'

/**
 * 验证码登录
 * @param {String} mobile 手机号码
 * @param {String} code 验证码
 * @returns Promise
 */
export const userMobileLogin = (mobile, code) => {
  return request('/login/code', 'post', { mobile, code })
}

/**
 * 账号登录
 * @param {String} account 登录账号
 * @param {String} password 登录密码
 * @returns Promise
 */
export const userAccountLogin = (account, password) => {
  return request('/login', 'post', { account, password })
}

/**
 * 获取手机验证码
 * @param {String} mobile 手机号码
 * @returns Promise
 */
export const userMobileLoginMsg = (mobile) => {
  return request('/login/code', 'get', { mobile })
}

/**
 * 三方登录接口
 * @param {String} unionId 三方表示
 * @param {Integer} source 注册来源 6为QQ
 * @returns Promise
 */
export const userQQlogin = (unionId, source = 6) => {
  return request('/login/social', 'post', { unionId, source })
}

/**
 * 三方登录 已有账号的情况 手机验证码验证
 * @param {String} mobile 手机号
 * @returns Promise
 */
export const userQQloginCode = (mobile) => {
  return request('/login/social/code', 'get', { mobile })
}

/**
 * 第三方绑定号码
 * @param {*}  unionId => 三方标识
 * @param {*}  mobile => 手机号码
 * @param {*}  code => 验证码
 * @returns Promise
 */
export const userQQloginBind = ({ unionId, mobile, code }) => {
  return request('/login/social/bind', 'post', { unionId, mobile, code })
}

/**
 * 校验手机唯一性
 * @param {*} account  用户名或手机号
 * @returns Promise
 */
export const userAccountCheck = (account) => {
  return request('/register/check', 'get', { account })
}

/**
 * 注册账号验证码
 * @param {String} mobile 手机号码
 * @returns Promise
 */
export const userQQPatchCode = (mobile) => {
  return request('/register/code', 'get', { mobile })
}

/**
 * QQ登录完善信息
 * @param {*}  unionId QQ唯一标识
 * @param {*}  account 用户名
 * @param {*}  mobile 手机号
 * @param {*}  code 验证码
 * @param {*}  password 密码
 * @returns Promise
 */
export const userQQPatchLogin = ({ unionId, account, mobile, code, password }) => {
  return request(`/login/social/${unionId}/complement`, 'post', { account, mobile, code, password })
}
